home *** CD-ROM | disk | FTP | other *** search
/ C/C++ Users Group Library 1996 July / C-C++ Users Group Library July 1996.iso / vol_200 / 293_01 / 3_d.doc < prev    next >
Text File  |  1989-08-23  |  6KB  |  187 lines

  1.            3-D  Reconstruction User Manual
  2.            ===============================
  3.  
  4.             Daniel Geist & Michael Vannier
  5.          Mallinckrodt Institute of Radiology
  6.            Washington University School of Medicine
  7.              510 S. Kingshighway Blvd.
  8.                St. Louis, Mo. 63110
  9.  
  10.               June 1989
  11.  
  12. The following is a description of how to use the 3-D medical image
  13. surface reconstruction software package. This software is described
  14. in "3-D Reconstruction in Medical Imaging" by D. Geist and M. Vannier.
  15.  
  16. This software was developed in Microscoft "C", Version 5 on a Digital
  17. Equipment Corporation (DEC) Vaxmate personal computer, an IBM PC/AT clone.
  18.  
  19.  
  20. 1. INPUT
  21.  
  22.    The input data is assumed to be a sequence of consecutive CT scan image
  23.    files. The name of the files is assumed to be CTBILD.nnn where nnn is a
  24.    three digit number (with preceeding zeros if necessary). Each file has 
  25.    a header of 512 bytes and then 256 lines of CT data. Each line contains 
  26.    256 CT values (or 512 bytes). A CT value is an unsigned integer 
  27.    corresponding to an Hounsfield value. 0 is -1024 in Hounsfield units.
  28.    The input files are assumed to be in the default directory.
  29.  
  30. 2. GRAD 
  31.  
  32.    This module is the reconstruction program. it creates six main axis
  33.    views from the CT files. This module may run a couple of hours 
  34.    depending on the hardwre installed. A floating point co-processor and
  35.    a main memory disk device will accelerate execution time.
  36.    
  37.    The program starts out by askinig you several questions and then it 
  38.    executes the reconstruction. The program does two passes over the data
  39.    after each one six images are created, three gradient shaded and three
  40.    distance (depth) shaded. The program creates output and temporary files.
  41.  
  42.    These files take about a Mbyte of space. The temporary file are to be
  43.    later used with the other modules.
  44.  
  45.    The following is the questions asked by the program and thir meaning:
  46.     
  47.    "Enter Zoom factor: "
  48.  
  49.    The Zoom factor is the ratio of the voxel dimensions between the X and
  50.    Z dimensions. It is a floating point number 1 =< ZOOM <= 5.
  51.  
  52.    "Enter Starting scan number: " 
  53.  
  54.     This is the number of your first CTBILD file.
  55.  
  56.    "Enter Ending scan number: " 
  57.  
  58.     This is the number of your last CTBILD file.
  59.  
  60.    "Enter Threshold value: "
  61.  
  62.     The threshold value is the value of the voxel threshold to use in
  63.     the reconstruction. All voxels below this value will be discarded.
  64.  
  65.     The typical threshold for reconstructing bone surfaces is 175 and
  66.     for soft tissue image -200.
  67.  
  68.     "Enter Temporary drive:
  69.  
  70.     This is the drive letter to use for your temporary disk name.
  71.     If you have a RAM-DISK this can be useful for speeding execution.
  72.     If you have no memory disk just enter your default drive.
  73.  
  74.     Here is an example ofa session:
  75.  
  76.     Enter Zoom factor: 3.4
  77.     Enter starting scan number: 1
  78.     Enter ending scan number: 80
  79.     Enter Threshold value: 175
  80.     Enter temporary drive: d
  81.  
  82.  
  83.     After the run information is recieved the program starts executing.
  84.  
  85.     It notifies the terminal after passing each slice. The slices are
  86.     numbered from 0 and onward. This is done twice (once for every pass).
  87.  
  88.     Example:
  89.  
  90.     starting forward pass over data
  91.     did slice 0
  92.     did slice 1
  93.     .
  94.     .
  95.     .
  96.     did slice 78
  97.     starting backward pass over data
  98.     did slice 0
  99.     did slice 1
  100.     .
  101.     .
  102.     .
  103.     did slice 78
  104.     number of lines = 240.
  105.  
  106.     The number of lines is the number of lines in the side views it is:
  107.     number_of_lines = number_of _slices * Zoom_factor.
  108.     The number of lines in the top and bottom images is always 256.
  109.  
  110.  OUTPUT
  111.  
  112.     The output is a set of 8-bit grayscale images. no special format is
  113.     assumed and they contain no header. you must supply your own program
  114.     to convert them to your frame buffer format.
  115.  
  116.     G(D)BO.OUT - bottom gradient (distance) shaded image
  117.     G(D)RL.OUT - right lateral gradient (distance) shaded image
  118.     G(D)RE.OUT - rear gradient (distance) shaded image
  119.     G(D)TO.OUT - top gradient (distance) shaded image
  120.     G(D)LL.OUT - left lateral gradient (distance) shaded image
  121.     G(D)FR.OUT - front gradient (distance) shaded image
  122.     
  123.     REMARK: G(D)TO, G(D)LL , G(D)RE and G(D)FR need to fliped.
  124.  
  125.     In addition the files six "&dis#.dat" are created on the temporary
  126.     drive where & stands for x,y or z and # stands for 1 and 2.
  127.  
  128.     A "param.dat" file is created on your default drive.
  129.  
  130.     All these files are needed by "ANG" and "FLIP" so you should not
  131.     erase them before you have finished processing the case.
  132.  
  133. 3. ANG
  134.  
  135.    This module creates rotated views of the image aroud the Z -axis.
  136.    The module uses the temporary files created by GRAD. The program
  137.    asks for an angle between 0 t0 360 and creates a rotated view in
  138.    that angle. The output is the two files G(D)ANG.OUT.
  139.  
  140.    DO NOT ENTER MAIN AXIS ANGLES: (0,90,180,270).
  141.  
  142. 4. FLIP*
  143.  
  144.    These modules flip an image file around an axis.
  145.  
  146.     flipd - around the diagonal axis
  147.     fliph - around the horizotal axis
  148.     flipv - around the vertical axis
  149.  
  150.    These programs accept three parameters the input file, the output
  151.    file and the number of lines in the image (in this sequence).
  152.    You can either enter all or part of them on the command line or be
  153.    prompted by the program.
  154.  
  155.    There is no default input.
  156.    The default output file is the input file with extension "flp".
  157.  
  158.    The number of lines can be specified in several ways:
  159.    1) Directly as a number on the command line or when prompted.
  160.    2) By specifying /D on the command line - the  number of lines 
  161.       becomes 256. 
  162.    3) By specifying /P on the command line - the  number of lines 
  163.       is taken from the file "param.dat" created by GRAD. 
  164.  
  165.    Examples:
  166.    A) FLIPH GFR.OUT GFR.NEW /P
  167.    B) FLIPV GTO.OUT /D
  168.    C) FLIPD
  169.        Enter fin: GLL.OUT
  170.        Enter fout: GLL.FLP
  171.        Enter lines: 230
  172.  
  173. 5. Future developments.
  174.  
  175.    The source programs are supplied. If you are an experienced progammer
  176.    in C, you are welcome to examine them and modify them to your needs.
  177.    For more information write to:
  178.  
  179.         Dr. Michael W. Vannier, M.D.
  180.         Mallinckrodt Institute of Radiology
  181.         Washington University School of Medicine
  182.         510 South Kingshighway Blvd.
  183.         St. Louis MO 63110   U.S.A.
  184.  
  185.  
  186.  
  187.